iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
1
Google Developers Machine Learning

我是高中生,我學ML和NLP系列 第 5

【Day 05】RNN學習筆記 Part I

  • 分享至 

  • xImage
  •  

被老師推薦看李宏毅老師的影片,今天看完第一部的第二刷就試著做個筆記。

原影片網址:https://www.youtube.com/watch?v=xCGidAeyS4M


Slot Filling

當電腦要分析一個句子的時候,必須要把一個句子中的重點抓出來,在這個過程中需要將每個單字分門別類:名詞、動詞、形容詞、連接詞等,這時可以使用Neural Network抓出每個詞的詞性。

https://ithelp.ithome.com.tw/upload/images/20190919/2010385289dD1y8S2J.png

但在這之前要先確認我們要分析的句子要如何放進這個Network中,以影片中"I would like to arrive Taipei in Nov. 2nd."為例子來建構:

目的地:Taipei
抵達時間:Nov. 2nd

所以我們必須要將這些每個詞丟入特定slot中,而這時候可以將每個詞彙變成vector來儲存。

1. 1-of-N encoding

很直覺的把每個可能出現的字丟進去array裡面,如果有就在每個編號上紀錄,但如果某單字沒有被記錄在array的時候便歸類到"other"中。

https://ithelp.ithome.com.tw/upload/images/20190919/20103852SKaqLvFYVD.png

2. Beyond 1-of-N encoding

將每個字會出現的組合紀錄。例如"arrive"這個詞中會出現"a-r-r", "r-r-i", "r-i-v", "i-v-e"這四個三元組合,只要在一個已經配好的array中將這四個特徵標記就可以還原出這個字,雖然沒辦法像1-of-N Encoding一樣完整對到,但依照英文字母與字母間的重複性應該可以將特色記錄下來並解省記憶體空間(此方法只需要用到26x26x26的記憶體)

https://ithelp.ithome.com.tw/upload/images/20190919/20103852DRDxx52CKG.png

但光是把每個字放進他該放的slot是不夠的。當我們在處理一個句子時,必須要了解我們是要從Taipei出發還是抵達Taipei,是在Nov. 2nd抵達還是在Nov. 2nd出發,這都會被一個句子的組成方式"arrive ... in ..."影響,這時候我必須要處理眼前這個詞彙的時候,記憶之前我所看到的東西再做出判斷才有可能判斷這些,而這個有記憶性的神經網路就被稱為"Recurrent Neurel Netowrk (RNN)"。


上一篇
【Day 04】神經網路之應用:構音矯正APP
下一篇
【Day 06】RNN學習筆記 Part II
系列文
我是高中生,我學ML和NLP20
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言